home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / na386 / chksum.bas < prev    next >
BASIC Source File  |  1993-07-08  |  1KB  |  27 lines

  1. 1000 PRINT "<<<   Check SUM 付加プログラム ver1.0   >>>"
  2. 1010 PRINT "            1991/10    By  N.Takahashi"
  3. 1020 DEFLNG A-Z:S=0
  4. 1030 LINE INPUT "File name = ",FI$
  5. 1040 IF FI$=" " OR FI$="" THEN 1250
  6. 1050 OPEN "I",#1,FI$:CLOSE #1
  7. 1060 A=INSTR(FI$,":")
  8. 1070 IF A>0 THEN FI$=LEFT$(FI$,A)+"(1)"+MID$(FI$,A+1) ELSE FI$="(1)"+FI$
  9. 1080 OPEN "R",#1,FI$
  10. 1090 FIELD #1,1 AS EP$
  11. 1100 GET #1,1:A=ASC(EP$):GET #1,2:A=ASC(EP$)*256+A
  12. 1110 IF (A=&H514D OR A=&H504D)=0 THEN 1250
  13. 1120 I=1:FLM=LOF(1)
  14. 1130  IF (I-1) MOD 256=0 THEN PRINT "*";
  15. 1140  IF I=&H13 OR I=&H14 THEN I=I+1:GOTO 1140
  16. 1150  GET #1,I:I=I+1:A=ASC(EP$)
  17. 1160  IF I<=FLM THEN GET #1,I:I=I+1:A=ASC(EP$)*256+A
  18. 1170  S=(S+65536-A) MOD 65536
  19. 1180 IF I<=FLM THEN 1130
  20. 1190 S=(S+65535) MOD 65536
  21. 1200 'GET #1,&H13:A=ASC(EP$):GET #1,&H14:A=ASC(EP$)*256+A
  22. 1210 'PRINT :PRINT "Original SUM is "+RIGHT$("000"+HEX$(A),4)+"h"
  23. 1220 PRINT :PRINT "Negative SUM is "+RIGHT$("000"+HEX$(S),4)+"h"
  24. 1230 LSET EP$=CHR$(S MOD 256):PUT #1,&H13
  25. 1240 LSET EP$=CHR$(S \ 256):PUT #1,&H14
  26. 1250 PRINT :CLOSE #1:END
  27.